package cn.liccshop.core.entity;

import com.baomidou.mybatisplus.annotation.*;

import java.time.LocalDateTime;
import java.util.List;

import cn.liccshop.sys.base.BaseBean;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 * 商品分类表（就是页面导航栏）
 * </p>
 *
 * @author LiCC
 * @since 2019-04-08
 */
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName(value = "shop_category")
public class ShopCategory extends BaseBean {

private static final long serialVersionUID = 1L;

    /**
     * 主键ID
     */
    @TableId(value = "id", type = IdType.UUID)
    private String id;

    /**
     * 该 id 项的父 id，对应本表的主键ID
     */
    @TableField("parent_id")
    private String parentId;

    /**
     * 前端dialog组件id
     */
    @TableField("dialog_id")
    private Integer dialogId;

    /**
     * 分类名称
     */
    @TableField("cat_name")
    private String catName;

    /**
     * 关键字
     */
    @TableField("keywords")
    private String keywords;

    /**
     * 分类描述
     */
    @TableField("cat_desc")
    private String catDesc;

    /**
     * 排序
     */
    @TableField("sort_order")
    private Integer sortOrder;

    /**
     * 商品单位，如一件，一双
     */
    @TableField("measure_unit")
    private String measureUnit;

    /**
     * 是否显示导航栏，0否；1是
     */
    @TableField("show_in_nav")
    private Byte showInNav;

    /**
     * 是否显示，0否；1是
     */
    @TableField("is_display")
    private Byte display;

    /**
     * 描述
     */
    @TableField("cate_description")
    private String cateDescription;

    /**
     * 创建者
     */
    @TableField(value = "create_by", fill = FieldFill.INSERT)
    private String createBy;

    /**
     * 创建日期
     */
    @TableField(value = "create_date", fill = FieldFill.INSERT)
    private LocalDateTime createDate;

    /**
     * 更新者
     */
    @TableField(value = "update_by", fill = FieldFill.UPDATE)
    private String updateBy;

    /**
     * 更新日期
     */
    @TableField(value = "update_date", fill = FieldFill.UPDATE)
    private LocalDateTime updateDate;

    /**
     * 备注
     */
    @TableField("remarks")
    private String remarks;

    /**
     * 删除标识符
     */
    @TableField("del_flag")
    private Integer delFlag;

    /**
     * 子分类 不映射数据库
     */
    @TableField(exist = false)
    private List<ShopCategory> children;


}
